
<html>
	<head>
		<title></title>
		<meta charset="utf-8"/>
		<meta name="viewport" content=""/>
		
		<!-- load CSS    -->
		<!-- Custom -->
		
		<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
		<link rel="stylesheet" type="text/css" href="css/mainrestyle2.css"/>
		

		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
		<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

		<!--		https://gridstackjs.com/		<script src="https://cdn.jsdelivr.net/npm/gridstack@1.1.1/dist/gridstack.all.js"></script>   -->
		<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gridstack@1.1.1/dist/gridstack.min.css" />
		
		<script src="https://cdn.jsdelivr.net/npm/gridstack@1.1.1/dist/gridstack-poly.min.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/gridstack@1.1.1/dist/gridstack.min.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/gridstack@1.1.1/dist/gridstack.jQueryUI.min.js"></script>

		<script src="blockly/blockly_compressed.js"></script>
		<script src="blockly/msg/js/en.js"></script>

		<script src="en.js"></script>
		<script src="html_generators.js"></script>
		<script src="html_blocks.js"></script>

		<!-- For JS-Blocks only -->
		<script src="blockly/blocks_compressed.js"></script>
		<script src="blockly/javascript_compressed.js"></script>
	</head>
	<body>
		<div id="menubar" class="topnav">
					<span id="newProj"> <i class="fa fa-file" aria-hidden="true"></i> New project</span>
					<span id="saveButton"> <i class="fa fa-download" aria-hidden="true"></i> Save blocks</span>
					<span id="loadText"> <i class="fa fa-folder-open" aria-hidden="true"></i> Load blocks</span> <input type="file" id="fileButton" style="max-width:200px" />
					<span id="exportButton"><i class="fa fa-cloud-download" aria-hidden="true"></i> Export webpage as HTML</span>
					<span id="previewButton"><i class="fa fa-desktop" aria-hidden="true"></i> Preview webpage </span>
					<script>
						if (typeof(Msg) == "object" && Msg.buttons) {  // Multi lang?
						document.getElementById("saveText").textContent   = Msg.buttons.save.desc;
						document.getElementById("saveButton").textContent = Msg.buttons.save.button;
						document.getElementById("loadText").textContent   = Msg.buttons.load.desc;
						document.getElementById("exportText").value       = Msg.buttons.export.desc;
						document.getElementById("exportButton").value     = Msg.buttons.export.button;
						}
					</script>
		</div>
		<div id="container" class="grid-stack top">
			<div id="leftcontainer" class="grid-stack-item" data-gs-x="0" data-gs-y="0" data-gs-width="6" data-gs-height="2" data-gs-no-move="yes" data-gs-no-resize="yes" data-gs-locked="yes">
				<div class="grid-stack-item-content">
					<div id="blocklyArea"></div>
				</div>
			</div>
			
			
			<div id="rightcontainer" class="grid-stack-item" data-gs-x="6" data-gs-y="0" data-gs-width="6" data-gs-height="2" data-gs-no-resize="no">
				
				<div id="toggleBox">
					<button type="button" id="togglebutton" class="slide-toggle">◀</button>
					<div id="modelArea">
						<label class="centerText"> Tools Panel</label> </br>
						</br>
						<div>	<input type="checkbox" id="websiteUpdateCheckbox" name="websiteCheckbox" checked>	<label for="websiteUpdateCheckbox">Render window automatic update</label>	<button type="button" id="websiteUpdateButton" disabled hasbeenclicked="false">Update</button> </div>
						</br>
						<div>	<label for="EraseLocalStorageButton">Erase LocalStorage:</label> <input type="button" value="Erase" id="EraseLocalStorageButton" style="max-width:100px" /> </div>
						</br>
						<div id="modeldiv"><span id="modelspan" >Local 3D model upload</span> </div>
						<label for="fileselect">Files to upload:</label>
						<input type="file" id="fileselect" name="fileselect[]" multiple="multiple" accept=".gltf,.obj"/>
						<div id="filedrag" >or drop files here</div>
						<div id="submitbutton">
							<button type="submit">Upload Files</button>
						</div>

						<div id="messages">
							<p>Uploaded 3D model list:</p>
							<div>
								<ul id="modellist">
								</ul>
							</div>
						</div>
					</div>
				</div>
				
				<div class="grid-stack-item-content">
					<div class="grid-stack nested1">
						<div class="grid-stack-item sub" data-gs-x="0" data-gs-y="0" data-gs-width="12" data-gs-height="1">
							<div class="grid-stack-item-content">
								<div id="title">untitled web page</div>
								<div id="websiteFrame" class="ui-widget-content"><iframe id="website" srcdoc="blob:http://localhost:8080"></iframe></div>
							</div>
						</div>
						<div class="grid-stack-item sub" data-gs-x="0" data-gs-y="1" data-gs-width="12" data-gs-height="1">
							<div class="grid-stack-item-content">
								<pre id="sourcecode">sum contnent</pre>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
		
		
		<xml xmlns="https://developers.google.com/blockly/xml" id="toolbox" style="display: none">
			<category name="html" expanded="true">
				<category name="baseframe" colour="#a55b5b">
					<block type="html">
						<statement name="content">
							<block type="head">
								<statement name="content">
									<block type="title">
										<statement name="content">
											<block type="plaintext">
												<field name="content"></field>
											</block>
										</statement>
									</block>
								</statement>
								<next>
									<block type="body"></block>
								</next>
							</block>
						</statement>
					</block>
					<block type="html"></block>
					<block type="body"></block>
					<block type="body_attributes"></block>
					<block type="head"></block>
					<block type="title">
						<statement name="content">
							<block type="plaintext">
								<field name="content"></field>
							</block>
						</statement>
					</block>
				</category>
				<category name="textstructure" colour="#5ba55b">
					<block type="plaintext">
						<field name="content"></field>
					</block>
					<block type="horizontalbreak"></block>
					<block type="linebreak"></block>
					<block type="paragraph"></block>
					<block type="headline">
						<field name="NAME">h1</field>
					</block>
					<block type="link">
						<field name="NAME">target</field>
					</block>
					<block type="image">
						<field name="IMAGE">URL</field>
						<field name="ALT">alternative text</field>
					</block>
					<block type="generictag">
						<field name="NAME">tag</field>
					</block>
				</category>
				<category name="markup" colour="#5ba55b">
					<block type="emphasise"></block>
					<block type="inserted"></block>
					<block type="strong"></block>
					<block type="deleted"></block>
					<block type="super"></block>
					<block type="sub"></block>
					<block type="code"></block>
					<block type="quote"></block>
					<block type="blockquote"></block>
					<block type="sample"></block>
					<block type="keyboard"></block>
					<block type="variable"></block>
					<block type="division"></block>
				</category>
				<category name="style" colour="#5b6da5">
					<block type="span">
						<value name="NAME">
							<block type="style"></block>
						</value>
					</block>
					<block type="style"></block>
					<block type="color">
						<field name="NAME">#ff0000</field>
					</block>
					<block type="bgcolour">
						<field name="NAME">#ff0000</field>
					</block>
					<block type="genericstyle">
						<field name="property">property</field>
						<field name="value">value</field>
					</block>
					<block type="span"></block>
					<block type="division"></block>
					<block type="generictag">
						<field name="NAME">tag</field>
					</block>
				</category>
				<category name="enumerations" colour="#a55ba5">
					<block type="unorderedlist"></block>
					<block type="orderedlist"></block>
					<block type="listelement"></block>
				</category>
				<category name="tables" colour="#5ba5a5">
					<block type="table">
						<statement name="content">
							<block type="tablerow">
								<statement name="content">
									<block type="tablecell">
										<next>
											<block type="tablecell"></block>
										</next>
									</block>
								</statement>
								<next>
									<block type="tablerow">
										<statement name="content">
											<block type="tablecell">
												<next>
													<block type="tablecell"></block>
												</next>
											</block>
										</statement>
									</block>
								</next>
							</block>
						</statement>
					</block>
					<block type="table"></block>
					<block type="tablerow"></block>
					<block type="tablecell"></block>
				</category>
				<category name="forms" colour="#80a55b">
					<block type="form"></block>
					<block type="input_text">
						<field name="default"></field>
					</block>
					<block type="button"></block>
					<block type="input">
						<field name="type">text</field>
						<field name="value"></field>
					</block>
				</category>
				<category name="scripts" colour="#a5a55b">
					<block type="script"></block>
					<block type="onclick"></block>
				</category>
			</category>
			<sep></sep>
			
			
			
			<category name="scripting">
				<category name="logic" colour="#5C81A6">
					<block type="controls_if"></block>
					<block type="logic_compare">
						<field name="OP">EQ</field>
					</block>
					<block type="logic_operation">
						<field name="OP">AND</field>
					</block>
					<block type="logic_negate"></block>
					<block type="logic_boolean">
						<field name="BOOL">TRUE</field>
					</block>
					<block type="logic_null"></block>
					<block type="logic_ternary"></block>
				</category>
				<category name="loops" colour="#5CA65C">
					<block type="controls_repeat_ext">
						<value name="TIMES">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
					</block>
					<block type="controls_whileUntil">
						<field name="MODE">WHILE</field>
					</block>
					<block type="controls_for">
						<field name="VAR" id=")[(PctVvu3c`*IACnwmm">i</field>
						<value name="FROM">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
						<value name="TO">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
						<value name="BY">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
					</block>
					<block type="controls_forEach">
						<field name="VAR" id="~a;YXk@k`X$Eb9]Z6{Me">j</field>
					</block>
					<block type="controls_flow_statements">
						<field name="FLOW">BREAK</field>
					</block>
				</category>
				<category name="math" colour="#5C68A6">
					<block type="math_round">
						<field name="OP">ROUND</field>
						<value name="NUM">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
					</block>
					<block type="math_number">
						<field name="NUM">0</field>
					</block>
					<block type="math_single">
						<field name="OP">ROOT</field>
						<value name="NUM">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
					</block>
					<block type="math_trig">
						<field name="OP">SIN</field>
						<value name="NUM">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
					</block>
					<block type="math_constant">
						<field name="CONSTANT">PI</field>
					</block>
					<block type="math_number_property">
						<mutation divisor_input="false"></mutation>
						<field name="PROPERTY">EVEN</field>
						<value name="NUMBER_TO_CHECK">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
					</block>
					<block type="math_arithmetic">
						<field name="OP">ADD</field>
						<value name="A">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
						<value name="B">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
					</block>
					<block type="math_on_list">
						<mutation op="SUM"></mutation>
						<field name="OP">SUM</field>
					</block>
					<block type="math_modulo">
						<value name="DIVIDEND">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
						<value name="DIVISOR">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
					</block>
					<block type="math_constrain">
						<value name="VALUE">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
						<value name="LOW">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
						<value name="HIGH">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
					</block>
					<block type="math_random_int">
						<value name="FROM">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
						<value name="TO">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
					</block>
					<block type="math_random_float"></block>
				</category>
				<category name="text" colour="#5CA68D">
					<block type="text_charAt">
						<mutation at="true"></mutation>
						<field name="WHERE">FROM_START</field>
						<value name="VALUE">
							<block type="variables_get">
								<field name="VAR" id="3lD0;=:EX{.QS(1_E}e_">item</field>
							</block>
						</value>
					</block>
					<block type="text">
						<field name="TEXT"></field>
					</block>
					<block type="text_append">
						<field name="VAR" id="3lD0;=:EX{.QS(1_E}e_">item</field>
						<value name="TEXT">
							<shadow type="text">
								<field name="TEXT"></field>
							</shadow>
						</value>
					</block>
					<block type="text_length">
						<value name="VALUE">
							<shadow type="text">
								<field name="TEXT"></field>
							</shadow>
						</value>
					</block>
					<block type="text_isEmpty">
						<value name="VALUE">
							<shadow type="text">
								<field name="TEXT"></field>
							</shadow>
						</value>
					</block>
					<block type="text_indexOf">
						<field name="END">FIRST</field>
						<value name="VALUE">
							<block type="variables_get">
								<field name="VAR" id="3lD0;=:EX{.QS(1_E}e_">item</field>
							</block>
						</value>
						<value name="FIND">
							<shadow type="text">
								<field name="TEXT"></field>
							</shadow>
						</value>
					</block>
					<block type="text_join">
						<mutation items="2"></mutation>
					</block>
					<block type="text_getSubstring">
						<mutation at1="true" at2="true"></mutation>
						<field name="WHERE1">FROM_START</field>
						<field name="WHERE2">FROM_START</field>
						<value name="STRING">
							<block type="variables_get">
								<field name="VAR" id="3lD0;=:EX{.QS(1_E}e_">item</field>
							</block>
						</value>
					</block>
					<block type="text_changeCase">
						<field name="CASE">UPPERCASE</field>
						<value name="TEXT">
							<shadow type="text">
								<field name="TEXT"></field>
							</shadow>
						</value>
					</block>
					<block type="text_trim">
						<field name="MODE">BOTH</field>
						<value name="TEXT">
							<shadow type="text">
								<field name="TEXT"></field>
							</shadow>
						</value>
					</block>
					<block type="text_print">
						<value name="TEXT">
							<shadow type="text">
								<field name="TEXT"></field>
							</shadow>
						</value>
					</block>
					<block type="text_prompt_ext">
						<mutation type="TEXT"></mutation>
						<field name="TYPE">TEXT</field>
						<value name="TEXT">
							<shadow type="text">
								<field name="TEXT"></field>
							</shadow>
						</value>
					</block>
				</category>
				<category name="lists" colour="#745CA6">
					<block type="lists_indexOf">
						<field name="END">FIRST</field>
						<value name="VALUE">
							<block type="variables_get">
								<field name="VAR" id="$nGj}F5dt?Fu8z!2-*~F">item</field>
							</block>
						</value>
					</block>
					<block type="lists_create_with">
						<mutation items="0"></mutation>
					</block>
					<block type="lists_repeat">
						<value name="NUM">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
					</block>
					<block type="lists_length"></block>
					<block type="lists_isEmpty"></block>
					<block type="lists_create_with">
						<mutation items="3"></mutation>
					</block>
					<block type="lists_getIndex">
						<mutation statement="false" at="true"></mutation>
						<field name="MODE">GET</field>
						<field name="WHERE">FROM_START</field>
						<value name="VALUE">
							<block type="variables_get">
								<field name="VAR" id="$nGj}F5dt?Fu8z!2-*~F">item</field>
							</block>
						</value>
					</block>
					<block type="lists_setIndex">
						<mutation at="true"></mutation>
						<field name="MODE">SET</field>
						<field name="WHERE">FROM_START</field>
						<value name="LIST">
							<block type="variables_get">
								<field name="VAR" id="$nGj}F5dt?Fu8z!2-*~F">item</field>
							</block>
						</value>
					</block>
					<block type="lists_getSublist">
						<mutation at1="true" at2="true"></mutation>
						<field name="WHERE1">FROM_START</field>
						<field name="WHERE2">FROM_START</field>
						<value name="LIST">
							<block type="variables_get">
								<field name="VAR" id="$nGj}F5dt?Fu8z!2-*~F">item</field>
							</block>
						</value>
					</block>
					<block type="lists_split">
						<mutation mode="SPLIT"></mutation>
						<field name="MODE">SPLIT</field>
						<value name="DELIM">
							<shadow type="text">
								<field name="TEXT"></field>
							</shadow>
						</value>
					</block>
					<block type="lists_sort">
						<field name="TYPE">NUMERIC</field>
						<field name="DIRECTION">1</field>
					</block>
				</category>
				<category name="colour" colour="#A6745C">
					<block type="colour_picker">
						<field name="COLOUR">#ff0000</field>
					</block>
					<block type="colour_random"></block>
					<block type="colour_rgb">
						<value name="RED">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
						<value name="GREEN">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
						<value name="BLUE">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
					</block>
					<block type="colour_blend">
						<value name="COLOUR1">
							<shadow type="colour_picker">
								<field name="COLOUR">#ff0000</field>
							</shadow>
						</value>
						<value name="COLOUR2">
							<shadow type="colour_picker">
								<field name="COLOUR">#ff0000</field>
							</shadow>
						</value>
						<value name="RATIO">
							<shadow type="math_number">
								<field name="NUM">0</field>
							</shadow>
						</value>
					</block>
				</category>
				<category name="variables" colour="#A65C81" custom="VARIABLE"></category>
				<category name="functions" colour="#9A5CA6" custom="PROCEDURE"></category>
			</category>
			<sep></sep>
			<category name="AFrame">
				<category name="Import" colour="#5C81A6">
					<block type= "import_script"></block>
					<block type="script_video_controll_NEW"></block>
					<block type="import_aframe"></block>
					<block type="inspector_code_load"></block>
				</category>
				
				<category name="Scene" color="#5C81A6">
					<block type="scene_create"></block>
					<block type="scene_create_color"></block>
					<block type="scene_create_AR"></block>
					<block type="scene_create_GPS"></block>
         
				</category>
               
               <category name="Assets" colour="#5C81A6"> 
					<block type="assets_list"></block>
					<block type="asset_item"></block>
					<block type="asset_img"></block>
					<block type="asset_video"></block>
					<block type="asset_audio"></block>
				</category>	
               
                <category name="Objects" colour="#5C81A6"> 
                    <block type="camera_3d"></block>
					<block type="light_3d"></block>
					<block type="link_3d"></block>
					<block type="camera_3d_child"></block>
					<block type="img_child"></block>
					<block type="a-sky"></block>
					<block type="a_sky_explor"></block>
					<block type="primitive"></block>
					<block type="primitive_child"></block>
					<block type="import_model_gltf"></block>
					<block type="import_model_obj"></block>
               
               <category name="Example" colour="#5C81A6">
         
         <block type="primitive" id="hToQ$wQTQ}fpq(9],/gy" x="63" y="276"><field name="DROPDOWN">box</field><field name="IDNAME">Red_Box</field><field name="VISIBLE">TRUE</field><statement name="NAME"><block type="color3d" id="KSF$#:)S@/_zcnvs#K!v"><field name="COLOR3D">#ff0000</field><next><block type="posrotscale_3d_OLD" id="k?1$6Z(YDjB}5*4PZO)4"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">2</field><field name="POSROTSCALE_Z">-2</field><next><block type="posrotscale_3d_OLD" id="HSa@*}!Z|o_3:JU)lv-:"><field name="POSROTSCALE">rotation</field><field name="POSROTSCALE_X">2</field><field name="POSROTSCALE_Y">30</field><field name="POSROTSCALE_Z">35</field><next><block type="posrotscale_3d_OLD" id="T6mp@ug[}Ul@,5YHlKRv"><field name="POSROTSCALE">scale</field><field name="POSROTSCALE_X">1</field><field name="POSROTSCALE_Y">1</field><field name="POSROTSCALE_Z">1</field></block></next></block></next></block></next></block></statement></block>
         
               
         <block type="primitive" id="3[TTDj(3VrraUh}5/qb|" x="104" y="139"><field name="DROPDOWN">cylinder</field><field name="IDNAME">Blue_cylinder</field><field name="VISIBLE">TRUE</field><statement name="NAME"><block type="color3d" id="eQzu1Z*gYX.A/~CY%*^D"><field name="COLOR3D">#000099</field><next><block type="posrotscale_3d_OLD" id="g%IL~b0`7CE*5qGy?k2?"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">2</field><field name="POSROTSCALE_Z">-5</field><next><block type="posrotscale_3d_OLD" id="+CFmKF^.VGUSq@KCJK(2"><field name="POSROTSCALE">rotation</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">0</field><field name="POSROTSCALE_Z">0</field><next><block type="dimension_3d" id="k]):+eZBqs*b_!}Ba@^{"><field name="DIMENSION">height</field><field name="DIMENSION_VALUE">3</field><next><block type="dimension_3d" id="w*%H+gUP^H!`W!In/zaE"><field name="DIMENSION">width</field><field name="DIMENSION_VALUE">2</field></block></next></block></next></block></next></block></next></block></statement></block>
         
         <block type="a-sky" id="e7tn+:VMo#T9ojw_}ReY" x="-54" y="198"><statement name="NAME"><block type="audiosrc" id="TVE3BeU%bw8ZV)yJ@_qN"><field name="SRC">YOUR-AMBIENCE-SOUND</field><field name="AUTOPLAY">TRUE</field><field name="LOOP">TRUE</field><field name="POSITIONAL">FALSE</field></block></statement></block>
         
         <block type="link_3d" id="V=zGUfP0j]LMz`,;)EE#" x="-93" y="178"><statement name="LINK3D"><block type="posrotscale_3d_OLD" id="18f_nyc[mcLZ?MPA0TaO"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">2</field><field name="POSROTSCALE_Z">-2</field><next><block type="href_3d" id="}|k}yZQ77Rxv3zFn,VB8"><field name="HREF">https://aframe.io/aframe/examples/boilerplate/panorama/</field><next><block type="title_3d" id="b`*WEp5T[JP/HRtYCxIy"><field name="TITLE">Home Page</field><next><block type="image_3d" id="~^!^O3#:*_{:aaKorNRF"><field name="IMAGE">https://aframe.io/images/card.jpg</field></block></next></block></next></block></next></block></statement></block>
         
         </category>
                </category>

				<category name="Objects Options" colour="#5C81A6"> 
					<block type="primitive"></block>
					<block type="color3d"></block>
					<block type="color3dHEX"></block>
					<block type="imgsrc"></block>
					<block type="audiosrc"></block>
					<block type="posrotscale_3d_OLD"></block>
					<block type="dimension_3d"></block>
					<block type="open_end3d"></block>
					<block type="side3d"></block>
					<block type="href_3d"></block>
					<block type="image_3d"></block>
					<block type="title_3d"></block>
					<block type="arrow_primitive"></block>
					<block type="arrow_lengths"></block>
					<block type="look_at"></block>
				</category>

				<category name="3D Camera" color="#5C81A6">

					<category name="Options" color="#5C81A6">
						<block type="posrotscale_3d_OLD"></block>
						<block type="camera_name"></block>
						<block type="wasd_fps"></block>
						<block type="camera_cursor"></block>
						<block type="camera_cursor_color"></block>
						<block type="camera_cursor_scale"></block>
						<block type="camera_cursor_opacity"></block>
						<block type="camera_rotation_reader"></block>
					</category>


					<category name="Child" color="#5C81A6">
						<block type="cursor3d"></block>
						<block type="cursor3dHEX"></block>
					</category>

				</category>

				<category name="Light Options" color="#5C81A6">
	                <block type="posrotscale_3d_OLD"></block>
					<block type="color3d"></block>
					<block type="color3dHEX"></block>
					<block type="light3d_type"></block>
					<block type="light3d_intenity"></block>
				</category>
				
         

        <category name="Animation" colour="#5C81A6">

					<category name="Example" colour="#5C81A6">
						<block type="animation_options" id="Q9n5t=^dhb(WG7Bz~(:?" x="-137" y="263"><statement name="ANIMATION_OPTION"><block type="animation_property_property" id="DC]~PcXf/.|?eJT@ti*m"><field name="property">rotation</field><next><block type="animation_property_to" id="r4#Jaey~sUgKmyW]qTz;"><field name="TO_X">0</field><field name="TO_Y">360</field><field name="TO_Z">0</field><next><block type="animation_property_loop" id="xg*,WfFs*7r.Vy/+*@]B"><field name="LOOP">true</field><next><block type="animation_property_liner" id="jo:4oPk:/7/1M-[)LGz#"><field name="EAS">linear</field><next><block type="animation_property_dur" id="c60V};6U}N{Ne%ZNd2?K"><field name="DUR">3000</field></block></next></block></next></block></next></block></next></block></statement></block>
					</category>

					<block type="animation_options"></block>
					<block type="animation_multi"></block>
					<block type="animation_property"></block>
					<block type="animation_property_property"></block>
					<block type="animation_property_from"></block>
					<block type="animation_property_to"></block>
					<block type="animation_property_loop"></block>
					<block type="animation_property_dir"></block>
					<block type="animation_property_delay"></block>
					<block type="animation_property_dur"></block>
					<block type="animation_property_liner"></block>
					<block type="animation_property_easeIn"></block>
					<block type="animation_property_easeOut"></block>
					<block type="animation_property_easeInOut"></block>

				</category>

				<category name="Texture" colour="#5C81A6"> 
					<block type="Texture3D"></block>
					<block type="Texture3d_link"></block>
					<block type="Texture3D_repeat"></block>
					<block type="Texture_NormalMap3D"></block>
					<block type="Texture3D_NormalMap_repeat"></block>
					<block type="Texture3D_normal_scale"></block>
					<block type="texture3d_roughness"></block>
					<block type="texture3d_opacity"></block>
				</category>


				<category name="Entity" colour="#5C81A6">
				 
					<block type="a-entity"></block>
					<block type="gltf_entity"></block>
					<block type="obj_entity"></block>
					<block type="extra_entity"></block>
					
				<category name="Example" colour="#5C81A6">
                
                <block type="a-entity" id="dG.G=)qN=]k$D)s@8^YK" x="124" y="281"><field name="IDNAME">TEXT</field><statement name="CONTENT"><block type="posrotscale_3d_OLD" id="Acyyj85UErSK8m3qrFMz"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">1.8</field><field name="POSROTSCALE_Z">-1</field><next><block type="entity_text" id="znyGw6}t++YtaSfn8924"><statement name="TEXT"><block type="entity_color" id="d%qyqzauw(eGA!Y/8)5v"><field name="NAME">#000099</field><next><block type="entity_text_value" id="O,2L_]=]4!sg|_34L9jP"><field name="VALUE">01234567890123456789</field><next><block type="entity_align" id="j+JjNQCCBe%HFBf|b[Kl"><field name="NAME">left</field><next><block type="entity_wrapcount" id="1B4E(Bq^zB=jRl*v0q/Y"><field name="WRAPCOUNT">10</field><next><block type="entity_text_font" id="*?CET:;UuD14Z4hD3}mQ"><field name="DIM">https://raw.githubusercontent.com/etiennepinchon/aframe-fonts/master/fonts/cabin/Cabin-Medium.json;</field><next><block type="entity_dimension" id="7cB`=yxv!4kJd[/h`a[X"><field name="DIM">width</field><field name="DIMVALUE">1</field><next><block type="entity_shader" id="7B%`)InU[$o`_aEW~a9H"><field name="DIM">msdf</field></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement></block>
                
                <block type="a-entity" id="qZ)d$X-{gj0%LNAF}8.l" x="-78" y="48"><field name="IDNAME">TEXT</field><statement name="CONTENT"><block type="posrotscale_3d_OLD" id="boG;_=.3ZZdjMwI2UPIl"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">1.5</field><field name="POSROTSCALE_Z">-1</field><next><block type="entity_text" id="I`iKbesN|4%WL!`*pa]u"><statement name="TEXT"><block type="entity_color" id="n~~;.C06o)ls8ZsD5L;x"><field name="NAME">#ffffff</field><next><block type="entity_text_value" id="$oDg*-*Qt=.*Xz~qxMum"><field name="VALUE">01234567890123456789</field><next><block type="entity_align" id="$?5y/vt~{=]{-R~]2HD("><field name="NAME">left</field><next><block type="entity_wrapcount" id="|m!nC=:]5UuU`(PpSCnh"><field name="WRAPCOUNT">10</field><next><block type="entity_text_font" id="2Tg`37E(iE=si^#0zcrN"><field name="DIM">https://raw.githubusercontent.com/etiennepinchon/aframe-fonts/master/fonts/cabin/Cabin-Medium.json;</field><next><block type="entity_dimension" id="5C%0C,s]vVwhwY74Jm9`"><field name="DIM">width</field><field name="DIMVALUE">1</field><next><block type="entity_shader" id="/G3hBI`feS}f[X(07@/D"><field name="DIM">msdf</field></block></next></block></next></block></next></block></next></block></next></block></next></block></statement><next><block type="entity_geometry" id="l5tY@$a!F-U2e1n1,CQ`"><statement name="GEOMETRY"><block type="entity_geometry_primitive" id="P~,$B!=Z0T[mIua!)I4d"><field name="NAME">plane</field></block></statement><next><block type="entity_material" id=".:]*:p9E6pXD/8W=1T~I"><statement name="MATERIAL"><block type="entity_material_color" id=":pMMxs-fzuXd]Ew=2#w$"><field name="COLOR">#000000</field><next><block type="entity_shader" id="D|[?i0o9lV]WjP9*knIQ"><field name="DIM">flat</field></block></next></block></statement></block></next></block></next></block></next></block></statement></block>
                
                <block type="entity_text" id="znyGw6}t++YtaSfn8924" x="118" y="204"><statement name="TEXT"><block type="entity_color" id="d%qyqzauw(eGA!Y/8)5v"><field name="NAME">#cc0000</field><next><block type="entity_text_value" id="O,2L_]=]4!sg|_34L9jP"><field name="VALUE">Hello World!</field><next><block type="entity_align" id="j+JjNQCCBe%HFBf|b[Kl"><field name="NAME">center</field><next><block type="entity_wrapcount" id="1B4E(Bq^zB=jRl*v0q/Y"><field name="WRAPCOUNT">40</field><next><block type="entity_text_font" id="*?CET:;UuD14Z4hD3}mQ"><field name="DIM">https://raw.githubusercontent.com/etiennepinchon/aframe-fonts/master/fonts/cabin/Cabin-Medium.json;</field><next><block type="entity_dimension" id="7cB`=yxv!4kJd[/h`a[X"><field name="DIM">width</field><field name="DIMVALUE">2</field><next><block type="entity_shader" id="7B%`)InU[$o`_aEW~a9H"><field name="DIM">msdf</field></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block>
                
                <block type="import_script" id="[3+gv^)b-6FW#Rp-s!E-" x="67" y="540"><field name="IMPORT">https://unpkg.com/aframe-particle-system-component@1.0.9/dist/aframe-particle-system-component.min.js</field></block><block type="entity_particle-system" id="4tCFZE{gE6${`y1(pYnU" x="73" y="647"><statement name="PARTICEL"><block type="entity_particle_system_preset" id="OfGjN6X/^?juIiKf5hov"><field name="PRESET">rain</field><next><block type="entity_color_HEX" id="m|yX2Jwiu~%ZF.[;gojG"><field name="COLOR">#212121</field><next><block type="entity_paticel_velocityvalue" id="d,j@/fVMUO:Bu]M^tz=F"><field name="VELOCITYVALUE">0.1</field><next><block type="entity_particleCount" id="}TKwh0wp+VlUtl%?L6d^"><field name="PARTICELCOUNT">10000</field></block></next></block></next></block></next></block></statement></block>
                
                </category>	
				</category>

				<category name="Entity Options" colour="#5C81A6">
                  
                  
                 <block type="entity_dimension"></block>
                 <block type="entity_texture"></block>
                      
                 <block type= entity_geometry></block>
                 <block type=entity_geometry_primitive></block>
                 <block type=entity_geometry_dimension></block>
                
                 <block type= entity_material></block>
                 <block type=entity_material_color></block>
                 <block type=entity_material_color_hex></block>
                 <block type=entity_material_visible></block>
               
                 <block type="entity_text"></block>
                 <block type="entity_text_geometry"></block>
                 <block type="entity_text_value"></block>
                 <block type="entity_color"></block>
                 <block type="entity_color_HEX"></block>
                 <block type="entity_align"></block>
                 <block type="entity_wrapcount"></block>
                 <block type="entity_text_font"></block>
                 <block type="entity_shader"></block>
                           
                
                <block type=animation></block>
                
               <block type=entity_particle-system></block>
               <block type=entity_particle_system_preset></block>
               <block type=entity_paticel_velocityvalue></block>
               <block type=entity_particleCount></block>
               
               
                
                
        </category> 
        
                <category name="Event" colour="#5C81A6"> 

					<category name="Example" colour="#5C81A6">
                        
                        <block type="import_script" id="9+!)e@.}@;cSLBjzL-d0" x="45" y="99"><field name="IMPORT">https://aframe.io/releases/1.0.4/aframe.min.js</field><next><block type="import_script" id=".QR|ysjh-q-aNiH4,psN"><field name="IMPORT">https://unpkg.com/aframe-event-set-component@5.0.0/dist/aframe-event-set-component.min.js</field><next><block type="scene_create" id="J#lNLrAF]o6:fAS|Mx6C"><statement name="NAME"><block type="camera_3d_child" id="CqT=?:K_h36^[*dN~.5;"><field name="DROPDOWN">camera</field><statement name="CHILD"><block type="entity_cursor_vr" id="a_k^Dj.:BpVz#,i6/V[A"><field name="VR_MODE">FALSE</field><field name="NAME">#ff0000</field><field name="RADIUS_VALUE">1</field></block></statement><next><block type="primitive" id="zj=dxBq2!{Mi1?sB:%KS"><field name="DROPDOWN">box</field><field name="IDNAME">primitive_name</field><field name="VISIBLE">TRUE</field><statement name="NAME"><block type="posrotscale_3d_OLD" id="8XWlX~d?}ujWWxH*g{yq"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">2</field><field name="POSROTSCALE_Z">-2</field><next><block type="color3d" id="4(R0$=wUQ=IoxKStLaYe"><field name="COLOR3D">#ff0000</field><next><block type="event_set_name" id="MrHhRF(9P}7#wRClb#[M"><field name="EVENTNAME">click</field><statement name="NAME"><block type="event_type" id="(L?n:O5T27{][Io//d.."><field name="EVENT_TYPE">click</field><next><block type="event_material" id=";.N.KO:BS~v*2r13Wt|p"><field name="option">color</field><field name="NAME">#000099</field></block></next></block></statement></block></next></block></next></block></statement></block></next></block></statement></block></next></block></next></block>

						<block type="event_set_name" id="bNlRr90*1I^ev}.uyFWL" x="-58" y="763"><field name="EVENTNAME">enter</field><statement name="NAME"><block type="event_type" id=")8h9iD+Gn;DgG(WPKK,?"><field name="EVENT_TYPE">mouseenter</field><next><block type="event_material" id="veFTs[`jxz:=Eo8W]o+D"><field name="option">color</field><value name="MATERIAL_INPUT"><block type="input_color" id="`+w1G7V#Mz[Vvbd~^9I@"><field name="COLOR_INPUT">#000099</field></block></value></block></next></block></statement></block><block type="event_set_name" id="SM2V-=)*ZihbY+J7W9J?" x="-50" y="988"><field name="EVENTNAME">leave</field><statement name="NAME"><block type="event_type" id="9BW}N7Wx6T^7OyvRy3|}"><field name="EVENT_TYPE">mouseleave</field><next><block type="event_material" id="(T/,LWILhy^B3m^mwthP"><field name="option">color</field><value name="MATERIAL_INPUT"><block type="input_color" id="1KDSaQonR-l-IAQMw4#I"><field name="COLOR_INPUT">#ff0000</field></block></value></block></next></block></statement></block><block type="event_set_name" id="~89Adb)emPON/sGv/`Nv" x="-62" y="1153"><field name="EVENTNAME">click</field><statement name="NAME"><block type="event_type" id="_6u990c3A4;l3.{_1n@@"><field name="EVENT_TYPE">click</field><next><block type="event_material" id="b:!{G[`P{gfMDs_0[4u+"><field name="option">color</field><value name="MATERIAL_INPUT"><block type="input_color" id="-+SXmId~IQA4B+v:EO2{"><field name="COLOR_INPUT">#ffff00</field></block></value></block></next></block></statement></block>

					</category>  

					<block type="event_set_name"></block>
					<block type="event_type"></block>
					<block type="event_target"></block>
					<block type="event_position"></block>
					<block type="event_material"></block>
					<block type="event_visible"></block>
					<block type="entity_cursor"></block>
					<block type="entity_cursor_vr"></block>
				</category>

				<category name="Video" colour="#5C81A6">
					<block type="video_src"></block>
					<block type="video_child"></block>
					<block type="video_controller"></block>
					<block type="video_controller_NEW"></block>
					<block type="videosphere360"></block>
				
				<category name="Example" colour="#5C81A6">
				    
				    <block type="html" id="g}6:G4ODR/`m1VLM4tIM" x="-69" y="61"><statement name="content"><block type="head" id="Udl@dtG@6{wgJ]uvl-2}"><statement name="content"><block type="title" id=".Vu:`5HHMX#uFT=nxR`z"><statement name="content"><block type="plaintext" id="-`S^ryK?}*s94VARoPz4"><field name="content">Blockly Aframe HTML example</field></block></statement><next><block type="import_aframe" id="rj~6v@~C59R8=XN9A-}N"><field name="NAME">https://aframe.io/releases/1.0.4/aframe.min.js</field><next><block type="script_video_controll" id="+CxTqSx(M^MXjpLZ?e3g"><field name="SRC">YOUR-VIDEO-ID</field></block></next></block></next></block></statement><next><block type="body_attributes" id="#l]irD^akBgWWbrd8k1i"><value name="NAME"><block type="style" id="z%IeHi[G5XEyAH/Kljcd"><statement name="NAME"><block type="genericstyle" id="QaW5zx|[q5Bz{;G0iRKd"><field name="property">font-family</field><field name="value">sans-serif</field></block></statement></block></value><statement name="content"><block type="scene_create" id="II5JCIkq:kf=@OZd$pnf"><statement name="NAME"><block type="camera_3d_child" id="^TgLLMnN_oPWLEUIf:tU"><field name="DROPDOWN">camera</field><statement name="CHILD"><block type="entity_cursor" id="N,F|*0,6/n~7+jQ,;Fr)"></block></statement><next><block type="assets_list" id="DI/kDdu9.[6,DWWWEMHL"><statement name="assetslist"><block type="asset_img" id=".8x931|/n99@(zcl#l!O"><field name="IDNAME">play</field><field name="URL">play.png</field><next><block type="asset_img" id="A=xi4rKeb.a!CWqegaOi"><field name="IDNAME">pause</field><field name="URL">pause.png</field><next><block type="asset_video" id="gu;bK8_2[*.6kAOLRi_B"><field name="IDNAME">YOUR-VIDEO-ID</field><field name="URL">lagioconda.mp4</field><field name="Loop">TRUE</field></block></next></block></next></block></statement><next><block type="video_child" id="*Xiu8/4{D|Z6,geSh%=t"><field name="IDNAME">video_name</field><field name="VISIBLE">TRUE</field><statement name="NAME"><block type="video_src" id="Ob$+LtXMJn~.8=ml~FLy"><field name="360_SRC">YOUR-VIDEO-ID</field><next><block type="posrotscale_3d_OLD" id="1~c)L@P*UIE64G*Lxx20"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">3</field><field name="POSROTSCALE_Z">-9</field><next><block type="dimension_3d" id=":#N:+LIBgiG,5nF#W0bg"><field name="DIMENSION">width</field><field name="DIMENSION_VALUE">8</field><next><block type="dimension_3d" id="iQb|y{D]SdW!Z^m59syh"><field name="DIMENSION">height</field><field name="DIMENSION_VALUE">4.5</field></block></next></block></next></block></next></block></statement><statement name="CHILD"><block type="video_controller" id="T_010]${F;FG{c#ziwJf"><field name="SRC">play</field><field name="POSX">0</field><field name="POSY">-3</field><field name="POSZ">0</field><field name="SCALEX">0.5</field><field name="SCALEY">0.5</field><field name="SCALEZ">1</field></block></statement></block></next></block></next></block></statement></block></statement></block></next></block></statement></block>
				    
				</category>
						
				</category>
           
            <category name="Room" colour="#5C81A6">
            <block type="create_room"></block>
            <block type="create_room_door_id"></block>
            <block type="create_room_door_from_to"></block>
            
            <category name="Example" colour="#5C81A6">
            
            <block type="import_script" id="?2euQ;z^_RrifdBe*Vyi" x="108" y="230"><field name="IMPORT">https://unpkg.com/aframe-room-component@%5E0.1.0/dist/aframe-room-component.min.js</field></block><block type="create_room" id="s4T%qo?/Lekn:!u*%m}2" x="103" y="311"><field name="OPTIONS">room</field><statement name="OPTION"><block type="posrotscale_3d_OLD" id="pYCT^lS_)A]z,s;T0W;B"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">-2</field><field name="POSROTSCALE_Y">0</field><field name="POSROTSCALE_Z">-2</field><next><block type="entity_material" id=",H)F{qPipp]8rN|l,xG("><statement name="MATERIAL"><block type="entity_material_color_hex" id="9Cq-P*n`~(.+lWy+1Xmi"><field name="COLOR">#866</field></block></statement></block></next></block></statement><statement name="CHILD"><block type="create_room" id="T$ne@tiqC?jhG2EZ{.Zg"><field name="OPTIONS">wall</field><statement name="OPTION"><block type="posrotscale_3d_OLD" id="nYJn^dw;`v*GH=i9%.Vm"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">4</field><field name="POSROTSCALE_Y">0</field><field name="POSROTSCALE_Z">0</field></block></statement><next><block type="create_room" id="+JvS3ObvFGrl)+WvRsUx"><field name="OPTIONS">wall</field><statement name="OPTION"><block type="posrotscale_3d_OLD" id="G`}YRGy}?V}hl%b#p[D{"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">4</field><field name="POSROTSCALE_Y">0</field><field name="POSROTSCALE_Z">4</field></block></statement><next><block type="create_room" id="%Yg-OIW,..9g(c~|oNbN"><field name="OPTIONS">wall</field><statement name="OPTION"><block type="posrotscale_3d_OLD" id="_Qn(Kn4(bfQ:Cm.dBHk0"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">0</field><field name="POSROTSCALE_Z">4</field></block></statement><next><block type="create_room" id=")-h9mlt.nmgnuw4ni;Oa"><field name="OPTIONS">wall</field><statement name="OPTION"><block type="posrotscale_3d_OLD" id="i@}4?wqU9gM![q7KgE~:"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">0</field><field name="POSROTSCALE_Z">0</field></block></statement><statement name="CHILD"><block type="create_room" id=":|CdThLF@qrIau/:=Aq("><field name="OPTIONS">doorhole</field><statement name="OPTION"><block type="create_room_door_id" id="LSMna]n$Niv~WBx]HJA,"><field name="ID">DoorA</field></block></statement><statement name="CHILD"><block type="create_room" id="4xr1o.v-?{SkWa+Y7[-+"><field name="OPTIONS">doorlink</field><statement name="OPTION"><block type="posrotscale_3d_OLD" id="o:yb@xdOjA?|,xEra/s|"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">2.5</field><field name="POSROTSCALE_Y">0</field><field name="POSROTSCALE_Z">0</field><next><block type="create_room_door_from_to" id="zNjsqOo9yNAT9YDOf4qz"><field name="FROM">DoorA</field><field name="TO">DoorB</field></block></next></block></statement></block></statement></block></statement></block></next></block></next></block></next></block></statement><next><block type="create_room" id="FrViA-[#DQixIpQpO0lN"><field name="OPTIONS">room</field><statement name="OPTION"><block type="posrotscale_3d_OLD" id="C?9qpRXOu,TMAAU94INR"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">0</field><field name="POSROTSCALE_Z">-3</field></block></statement><statement name="CHILD"><block type="create_room" id="Is6ZI;Nm$%sFGsDsw@%X"><field name="OPTIONS">wall</field><statement name="OPTION"><block type="posrotscale_3d_OLD" id="po{%(7S]4GwSPyUq8@*-"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">1</field><field name="POSROTSCALE_Y">0</field><field name="POSROTSCALE_Z">-1</field><next><block type="entity_material" id="5MW0K[XlOzfK,^,A3o@$"><statement name="MATERIAL"><block type="entity_material_color_hex" id="i3{7HAQ@p+H[Q`]aYai{"><field name="COLOR">#787</field></block></statement></block></next></block></statement><next><block type="create_room" id="VYA?Zwj!Xzb}B/F5Q9^;"><field name="OPTIONS">wall</field><statement name="OPTION"><block type="posrotscale_3d_OLD" id="R-4X?l$+#p*7!qrEoH.l"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">1</field><field name="POSROTSCALE_Y">0</field><field name="POSROTSCALE_Z">1</field><next><block type="entity_material" id="d`LOJ~(cu+)OejSJK.g,"><statement name="MATERIAL"><block type="entity_material_color_hex" id="UJa(PPA/B_AyP77qXWsj"><field name="COLOR">#877</field></block></statement></block></next></block></statement><statement name="CHILD"><block type="create_room" id="f;h?:A)ii`+uJab?yb^:"><field name="OPTIONS">doorhole</field><statement name="OPTION"><block type="create_room_door_id" id=",+0sW6D(2`QWm[g#vUpb"><field name="ID">DoorB</field></block></statement></block></statement><next><block type="create_room" id="l0Q3S%}/QVWcPX90plAU"><field name="OPTIONS">wall</field><statement name="OPTION"><block type="posrotscale_3d_OLD" id="K$K+Y!W2R#$zl_=okiP*"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">-1</field><field name="POSROTSCALE_Y">0</field><field name="POSROTSCALE_Z">1</field><next><block type="entity_material" id="};6Y_)_VJ^YaM}-8m,xE"><statement name="MATERIAL"><block type="entity_material_color_hex" id="{T9QJMb6/E29D~~v{Lp["><field name="COLOR">#878</field></block></statement></block></next></block></statement><next><block type="create_room" id="^r:z,$lh`Q#$?Nhs[Y2)"><field name="OPTIONS">wall</field><statement name="OPTION"><block type="posrotscale_3d_OLD" id="WhgF{rjjnM(S`uBoGLqD"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">-1</field><field name="POSROTSCALE_Y">0</field><field name="POSROTSCALE_Z">-1</field><next><block type="entity_material" id="n5fa9evLjuHBjxx6+l-b"><statement name="MATERIAL"><block type="entity_material_color_hex" id="I+{dq_rv-6Bm$k)pSa0h"><field name="COLOR">#787</field></block></statement></block></next></block></statement><next><block type="create_room" id="Q/9*%F17;6zm67?K98uE"><field name="OPTIONS">ceiling</field><statement name="OPTION"><block type="posrotscale_3d_OLD" id="DsI!!-1UgmqRfrOn7yDZ"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">0</field><field name="POSROTSCALE_Z">0</field><next><block type="entity_material" id="NwaONy]TEFBM=I{pr==f"><statement name="MATERIAL"><block type="entity_material_color_hex" id="$4{tOX$q/gbOl*M+2te*"><field name="COLOR">#787</field></block></statement></block></next></block></statement></block></next></block></next></block></next></block></next></block></statement></block></next></block>
            
            </category>
            </category> 
            
            
            <category name="AR" colour="#5C81A6">	
			<block type="ar_marker"></block>
            <block type="ar_pattern"></block>
            <block type="ar_barcode"></block>
            <block type="ar_gps"></block>
            
            <category name="Example" colour="#5C81A6">
                     <block type="import_script" id="$jb1mIW]?:p|M/`r1h]p" x="-52" y="46"><field name="IMPORT">https://raw.githack.com/AR-js-org/AR.js/master/aframe/build/aframe-ar-nft.js</field></block><block type="import_script" id="|j*ZR+RTkII1J.498[/[" x="-59" y="105"><field name="IMPORT">https://unpkg.com/aframe-look-at-component@0.8.0/dist/aframe-look-at-component.min.js</field></block><block type="scene_create_AR" id="o${.Qu$^8,.r1QAt;y%4" x="-65" y="162"><field name="DEBUG">FALSE</field><field name="MATRIXCODE">3x3</field><statement name="NAME"><block type="ar_barcode" id="!-bLo9-jzV^JcS`6MEae"><field name="AR_VALUE">0</field><statement name="AR"><block type="primitive" id="zOlCo$ysT5J.7RBjF]2*"><field name="DROPDOWN">box</field><field name="IDNAME">Red_Box</field><field name="VISIBLE">TRUE</field><statement name="NAME"><block type="color3d" id="54U1U*GE!ZMAk.J/U:P("><field name="COLOR3D">#ff0000</field><next><block type="posrotscale_3d_OLD" id="b:13`a2U257Y%^}z[BMV"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">1</field><field name="POSROTSCALE_Z">-3</field><next><block type="posrotscale_3d_OLD" id="*FaQ+JC6y/QrAaX/08yW"><field name="POSROTSCALE">rotation</field><field name="POSROTSCALE_X">2</field><field name="POSROTSCALE_Y">30</field><field name="POSROTSCALE_Z">35</field></block></next></block></next></block></statement></block></statement></block></statement></block><block type="scene_create_GPS" id="mQ_Z:/=T52WS%_wq-Ba8" x="-52" y="472"><field name="DEBUG">FALSE</field><statement name="NAME"><block type="primitive" id="-nkn]=IJ8`fAz36w$J2n"><field name="DROPDOWN">box</field><field name="IDNAME">Red_Box</field><field name="VISIBLE">TRUE</field><statement name="NAME"><block type="look_at" id=".N:xykV1[^O8{@*qdRVM"><field name="CAMERA_NAME">gps-camera</field><next><block type="color3d" id="|@ZttL|98Z*:hmxw;mC%"><field name="COLOR3D">#ff0000</field><next><block type="ar_gps" id="KZal$jp{COJQ{*kNMz^9"><field name="LAT">44.475299</field><field name="LONG">11.384117</field><next><block type="posrotscale_3d_OLD" id="5X@WSx9B6_w?ia.~Uo7i"><field name="POSROTSCALE">position</field><field name="POSROTSCALE_X">0</field><field name="POSROTSCALE_Y">2</field><field name="POSROTSCALE_Z">-2</field><next><block type="posrotscale_3d_OLD" id="`dt`~C:W|ajes;qK**fa"><field name="POSROTSCALE">rotation</field><field name="POSROTSCALE_X">2</field><field name="POSROTSCALE_Y">30</field><field name="POSROTSCALE_Z">35</field></block></next></block></next></block></next></block></next></block></statement><next><block type="camera_3d_child" id="L$~FSp,Q2c7Ornu,dlH!"><field name="DROPDOWN">camera</field><statement name="NAME"><block type="camera_name" id="/MZ0y.{gDpR~K/E+Fr@g"><field name="GPS_CAMERA">gps-camera</field><next><block type="camera_rotation_reader" id="5p,bW}J!,/r,3)uV|sp-"><field name="ROTATION-READER">rotation-reader</field></block></next></block></statement></block></next></block></statement></block>
           	</category>
           		
            </category>	
			</category>
		</xml>

		<script type="text/javascript">
		var h = window.innerHeight;
		var cellH=h-24-10; // 
		var nestOptions = {
		  acceptWidgets: '.grid-stack-item.sub', 
		  dragOut: true, // no let us drag them out!
		  cellHeight: Math.floor(cellH/2-20),
		  verticalMargin : 20,
		  resizable: {	handles: 's'  }
		};
		GridStack.init({
					  resizable: {	handles: 'e'  },
					  cellHeight: Math.floor(cellH/2-20),
					  verticalMargin : 20
					  }, '.grid-stack.top');
		var grid1 = GridStack.init(nestOptions, '.grid-stack.nested1');
		
		</script>
		
		
		<script>
			if (typeof(Msg) == "object" && Msg.categories) {
			for (category in Msg.categories) {
			elements = document.getElementsByName(category);
			if (elements.length == 0) {
			continue;
			}
			elements[0].setAttribute("name", Msg.categories[category]);
			}
			}
		</script>

		<xml xmlns="https://developers.google.com/blockly/xml" id="workspaceBlocks" style="display: none">
			<block type="html" id="9oFDR`IIn6rS=HtBc1=;" x="-137" y="13"><statement name="content"><block type="head" id="GcN`f+0y~dua46CQmnr|"><statement name="content"><block type="title" id="rB[~}$}00N3;aP6]xnDB"><statement name="content"><block type="plaintext" id="CjhokkH)~`2F##tpTkVK"><field name="content">Blockly Aframe HTML example</field></block></statement><next><block type="import_aframe" id="+*.`^K2f%Qcbji,@6N=Q"><field name="NAME">https://aframe.io/releases/1.0.4/aframe.min.js</field></block></next></block></statement><next><block type="body_attributes" id="PScP7X][kjt|f!8/L%#="><value name="NAME"><block type="style" id="m0}^Fb+}Ev,7[q@ztf#N"><statement name="NAME"><block type="genericstyle" id="6@F@,+j$;T5u{n4?uEUr"><field name="property">font-family</field><field name="value">sans-serif</field></block></statement></block></value><statement name="content"><block type="scene_create" id="q)vW=T-o8-nSc.*cMN=N"><statement name="NAME"><block type="assets_list" id="b%vi7P,};sye)ALiKPy."><statement name="assetslist"><block type="asset_video" id="F#89o`19k%q?9yeLi]7x"><field name="IDNAME">myvid</field><field name="URL">White_Lions.mp4</field><field name="Loop">TRUE</field></block></statement><next><block type="videosphere360" id="lV-KNNM*dH3[b/#)c9h."><field name="360_SRC">myvid</field></block></next></block></statement></block></statement></block></next></block></statement> </block>
		</xml>


		<xml xmlns="https://developers.google.com/blockly/xml" id="workspaceBlank" style="display: none">
		</xml>
		<script>
			var toolbox = document.getElementById("toolbox");
			var blocklyArea = document.getElementById('blocklyArea');

			var options = {
            toolbox : toolbox,
            collapse : true,
			//        comments : false,
			//        disable : false,
			maxBlocks : Infinity,
			trashcan : true,
			//        horizontalLayout : false,
			//        toolboxPosition : 'start',
			tooltips: true,
			css : true,
			media : 'https://blockly-demo.appspot.com/static/media/',
			rtl : false,
			scrollbars : true,
			sounds : true, // add button or modal for "La riproduzione automatica è consentita solo quando accettata dall’utente, l’utente ha interagito con il sito oppure il file multimediale ha il volume azzerato."
			oneBasedIndex : true,
            zoom:
         {controls: true,
          wheel: true,
          startScale: 1.0, // zoom in zomm out button
          maxScale: 3,
          minScale: 0.3,
          scaleSpeed: 1.2}    
			};

			var workspace = Blockly.inject(blocklyArea, options);

			//
			function isSupported(getStorage) {
			  try {
				const key = "__some_random_key_you_are_not_going_to_use__";
				getStorage().setItem(key, key);
				getStorage().removeItem(key);
				return true;
			  } catch (e) {
				return false;
			  }
			}
			
			
			//
			if (isSupported(() => localStorage)) {
				var xml_text = localStorage.getItem('blockly-html-code');
				if (xml_text) {
					var xml = Blockly.Xml.textToDom(xml_text);
					Blockly.Xml.domToWorkspace(xml, workspace);
				}
				else {
					/* === For backwards compability. Remove soon ===*/
					var xml_text = localStorage.getItem('code');
					if (xml_text) {
						var xml = Blockly.Xml.textToDom(xml_text);
						Blockly.Xml.domToWorkspace(xml, workspace);
						}
					/* === ^^^ === */
					else {
							if (localStorage.getItem("blank-flag") === null || localStorage.getItem("blank-flag")=="false") {
							var workspaceBlocks = document.getElementById("workspaceBlocks");
							Blockly.Xml.domToWorkspace(workspaceBlocks, workspace);
							}
							else {
								var blankBlocks = document.getElementById("workspaceBlank");
								Blockly.Xml.domToWorkspace(blankBlocks, workspace);
								localStorage.setItem('blank-flag', 'false');
							}
					}
				}
			}
			
			Blockly.svgResize(workspace);

			function myUpdateFunction(event) {
				var code = HtmlGenerator.workspaceToCode(workspace);
				document.getElementById('sourcecode').innerText = code;
				//document.getElementById('website').src = "data:text/html;charset=utf-8," + encodeURIComponent(code);
				if(document.getElementById('websiteUpdateCheckbox').checked || document.getElementById('websiteUpdateButton').getAttribute("hasbeenclicked")=="true") {
					document.getElementById('website').srcdoc = code;
				}
				// Save Blocks
				var xml = Blockly.Xml.workspaceToDom(workspace);
				var xml_text = Blockly.Xml.domToText(xml);
				if (isSupported(() => localStorage)) {
					localStorage.setItem('blockly-html-code', xml_text);
				}
			}
			
			
			workspace.addChangeListener(myUpdateFunction);

			function saveWorkspaceToDownload() {
			var xml = Blockly.Xml.workspaceToDom(workspace);
			var xml_text = Blockly.Xml.domToText(xml);
			newWindow = window.open("data:application/octet-stream," + encodeURIComponent(xml_text), 'webseite.blockly.xml');
			}
			document.getElementById("saveButton").onclick = saveWorkspaceToDownload;

			function saveHtmlToDownload() {
			var code = HtmlGenerator.workspaceToCode(workspace);
			newWindow = window.open("data:application/octet-stream," + encodeURIComponent(code), 'webseite.html');
			}
			document.getElementById("exportButton").onclick = saveHtmlToDownload;


			function loadWorkspaceFromUpload(e) {
			var file = e.target.files[0];
			if (!file) {
			return;
			}
			var reader = new FileReader();
			reader.onload = function(e) {
			var xml_text = e.target.result;
			if (xml_text) {
			var xml = Blockly.Xml.textToDom(xml_text);
			Blockly.Xml.domToWorkspace(xml, workspace);
			}
			};
			reader.readAsText(file);
			}
			document.getElementById('fileButton').addEventListener('change', loadWorkspaceFromUpload, false);
			//
			$('#loadText').on('click', function() {
				$('#fileButton').trigger('click');
			});
			//
			function createNewBlankProject() {
			localStorage.clear();
			localStorage.setItem('blank-flag', 'true');
			window.location.reload(false); 
			}
			//document.getElementById("newButton").onclick = createNewBlankProject;
			document.getElementById("newProj").onclick = createNewBlankProject;
			
			
			function previewProjectInNewTab() {
				var code = HtmlGenerator.workspaceToCode(workspace);
				//var myWindow = window.open(document.getElementById('website').getAttribute('srcdoc'), "Preview", );
				var fullPrevieWindow = window.open("", "_blank");
				fullPrevieWindow.document.write(code);
				
			}
			document.getElementById("previewButton").onclick = previewProjectInNewTab;
			
			
			

			function clearLocalStorage() {
			localStorage.clear();
			window.location.reload(true); 
			}
			document.getElementById("EraseLocalStorageButton").onclick = clearLocalStorage;

		</script>
		<script src="js/geoDB.js"></script>
		<script src="js/model.js"></script>
		<!-- <script src="js/arrow.js"></script> -->
		<script>
		
			$(document).ready(function(){
				
			
				$(".slide-toggle").click(function(){
					$("#modelArea").animate({width: "toggle"});
					if($("#modelArea").css("z-index")=="1"){ //Closing
						$("#modelArea").css("z-index","-1");
						$("#toggleBox").css("width","1%");
						document.getElementById("togglebutton").innerHTML = "▶"; //right-arrow
						$("#togglebutton").animate({width: '40px'});
					}else{                                   // Opening
						$("#modelArea").css("z-index","1");
						$("#toggleBox").css("width","30%");
						document.getElementById("togglebutton").innerHTML = "◀"; //left-arrow
						$("#togglebutton").animate({width: '25px'});
					}
				});
				
				
				
			/*
				$( function() {
				$( "#leftcontainer" ).resizable();
				} );
				
				$('#leftcontainer').resize(function(){
					var parentwidth = $("#container").width();
				    $('#rightcontainer').width(parentwidth-$("#leftcontainer").width()); 
					rightpercentage = Math.round(($("#rightcontainer").width() / parentwidth) * 100),
					leftpercentage = Math.round(($("#leftcontainer").width() / parentwidth) * 100);
					$('#container').css( "grid-template-columns", leftpercentage+" "+rightpercentage );
				});
			*/
			
				$('#websiteUpdateCheckbox').change(function() {
					if(this.checked) {
						document.getElementById("websiteUpdateButton").disabled = true;
						myUpdateFunction();
						//workspace.trigger( "onchange" );
					}
					else { document.getElementById("websiteUpdateButton").disabled = false; }
				});
				
				$('#websiteUpdateButton').click(function() {
						document.getElementById('websiteUpdateButton').setAttribute("hasbeenclicked", "true");
						myUpdateFunction();
						document.getElementById('websiteUpdateButton').setAttribute("hasbeenclicked", "false");
						//workspace.trigger( "onchange" );
				});
				
				function myFunction() {
				  var x = document.getElementById("menubar");
				  if (x.className === "topnav") {
					x.className += " responsive";
				  } else {
					x.className = "topnav";
				  }
				}
				
			});
			
			
		

		</script>
	</body>
</html>
